package cn.tedu.file;
//测试  字节流读出
//总结
//1 字节流写出的工具类：FileOutputStream  /  BufferedOutputStream (高级流/缓冲流)
//2  效率上来讲：BufferedOutputStream >  FileOutputStream
//3  原因是：BufferedOutputStream底层维护了一个byte[]buf数组用来缓冲数据
//           当数组满了 就把数据一次性保存在磁盘里，默认的数组容量是8192字节相当于8k
import java.io.*;

public class Test4_Out {
    public static void main(String[] args) throws IOException {
        method();
//        method2();
    }
    public static void method2() throws IOException {
        OutputStream ou3 = new BufferedOutputStream(new FileOutputStream("F:\\富强民主\\3.txt",true));
        ou3.write(98);
        ou3.write(97);
        ou3.write(99);
        ou3.write(99);
        //out.flush()//把数据从out流里刷出去刷到磁盘保存
        ou3.close();//flush+close

    }
    public static void method() throws IOException {
        //1 创建对象
//        OutputStream ou1 = new FileOutputStream(new File("F:\\富强民主\\1.txt")) ;
        OutputStream ou0 = new FileOutputStream("F:\\富强民主\\0.txt");
        //TODO 创建FileOutputStream对象时，只传一个参数，默认就是数据覆盖
        //TODO 想要实现数据追加，就需要传入第二个参数true,表示要改成数据追加。
//        OutputStream ou2 = new FileOutputStream(new File("F:\\富强民主\\2.txt"),true) ;
        //
//        ou1.write(97);
//        ou1.write(98);
//        ou1.write(99);
//        ou2.write(97);
//        ou2.write(97);
//        ou2.write(97);
//        ou2.write(97);
        ou0.write(98);
        ou0.write(99);
        ou0.write(97);
        ou0.write(92);
        //释放资源
//        ou.close();
        //TODO 还能继续写出吗？----不可以
//        ou.write(101);

    }
}
